$(function () {
    var layer = layui.layer
    // 1.1 获取裁剪区域的 DOM 元素
    var $image = $('#image')
    // 1.2 配置选项
    const options = {
        // 纵横比
        aspectRatio: 1,
        // 指定预览区域
        preview: '.img-preview'
    }

    // 1.3 创建裁剪区域
    $image.cropper(options)
    // 为隐藏的文件input框设置点击事件
    $('#btnChoose').on('click', function () {
        $('#file').click()
    })

    // 为input框绑定change事件 获取文件
    $('#file').on('change', function (e) {
        var files = e.target.files
        // console.log(e);
        if (files.length <= 0) {
            return layer.msg('请选择照片!')
        }
        // var file = files[0]
        // console.log(file);
        // 把得到的文件转成地址
        var filesUrl = URL.createObjectURL(files[0])
        // console.log(filesUrl);
        $image
            .cropper('destroy') // 销毁旧的裁剪区域
            .attr('src', filesUrl) // 重新设置图片路径
            .cropper(options) // 重新初始化裁剪区域
        // 扩展
        // var reader = new FileReader() // 文件读取器
        // reader.readAsDataURL(files[0]) // 把读取的文件转化为url base64的格式
        // reader.onload = function () { // 在文件读取完毕的时候执行下面的代码
        //     $image
        //         .cropper('destory') // 销毁旧的裁剪区域
        //         .attr('src', filesUrl) // 重新设置图片路径
        //         .cropper(options) // 重新初始化裁剪区域
        // }
    })
    // 为上传按钮绑定点击事件
    $('#btnUpload').on('click', function () {
        // 拿到渲染区域的图片的地址
        var dataURL = $image
            .cropper('getCroppedCanvas', {
                // 创建一个 Canvas 画布
                width: 100,
                height: 100
            })
            .toDataURL('image/png')
        // 发起ajax请求
        $.ajax({
            type: 'POST',
            url: '/my/update/avatar',
            data: {
                avatar: dataURL
            },
            success: function (res) {
                if (res.status !== 0) {
                    return layer.msg(res.message)
                }
                layer.msg(res.message)
                // 调用主页面的 getUserInfo()方法更新用户信息
                window.parent.getUserInfo()
            }

        })







    })


})